package com.bosssoft.goods.service;

import com.bosssoft.base.entity.PaginationData;
import com.bosssoft.goods.domain.dto.GoodSearchDTO;
import com.bosssoft.goods.domain.vo.GoodsSearchQueryVO;

import java.util.List;

/**
 * 商品查询服务接口类
 * @author Fang_Sir
 * @date 2021-04-20
 */
public interface GoodsSearchService {

    /**
     * 获取所有商品信息
     * @param query 商品查询条件
     * @param page 查询页码
     * @param size 页大小
     * @return
     */
    PaginationData<GoodSearchDTO> getGoodsAll(GoodsSearchQueryVO query,int page,int size);

    /**
     * 通过商品编号查询商品信息
     * @param id 商品编号
     * @return 返回商品信息
     */
    GoodSearchDTO getGoodById(long id);

    /**
     * 通过商品名称查询商品信息
     * @param name 商品名称
     * @param page 页码
     * @param size 页大小
     * @return {@link GoodSearchDTO} 分页数据
     */
    PaginationData<GoodSearchDTO> searchGoodsByName(String name, int page, int size);

    /**
     * 通过商品编号获取商品信息
     * @param goodIds 商品编号
     * @return 购物车商品列表
     */
    List<GoodSearchDTO> getGoodsByGoodIds(long[] goodIds);
}
